Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers/periph_spi: Add spi_transfer_u16_be() #20312

Merged
merged 2 commits into from
Feb 12, 2024

Conversation

maribu
Copy link
Member

@maribu maribu commented Jan 30, 2024

Contribution description

This adds spi_transfer_u16_be() intended to replace the free coded (and buggy) variant in the w5100 driver. This will also be useful for #20301 that needs the same functionality.

Testing procedure

The W5100 should work as before on little endian systems, and show now also work on big endian systems. (E.g. running native on a MIPS router with OpenWRT and using the SPI sysfs interface may work.)

Issues/PRs references

@maribu maribu added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Jan 30, 2024
@github-actions github-actions bot added Area: tests Area: tests and testing framework Area: drivers Area: Device drivers Area: sys Area: System labels Jan 30, 2024
This adds a helper function to exchange a 16 bit number that is to
be transferred in big endian order on the wire.
This also fixes a bug, as the free coded byte swap code was incorrect.
@maribu maribu force-pushed the drivers/periph_common/spi/transfer_u16 branch from fa2d171 to 47280b3 Compare February 2, 2024 12:05
@github-actions github-actions bot removed Area: tests Area: tests and testing framework Area: sys Area: System labels Feb 2, 2024
@maribu maribu added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Feb 2, 2024
@riot-ci
Copy link

riot-ci commented Feb 2, 2024

Murdock results

✔️ PASSED

47280b3 drivers/w5100: make use of spi_transfer_u16_be()

Success Failures Total Runtime
10010 0 10011 13m:57s

Artifacts

@maribu maribu added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Feb 12, 2024
@maribu maribu enabled auto-merge February 12, 2024 12:08
@maribu maribu added this pull request to the merge queue Feb 12, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 12, 2024
@maribu maribu added this pull request to the merge queue Feb 12, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 12, 2024
@maribu maribu added this pull request to the merge queue Feb 12, 2024
Merged via the queue into RIOT-OS:master with commit f68f977 Feb 12, 2024
29 checks passed
@maribu
Copy link
Member Author

maribu commented Feb 12, 2024

Thx :)

@maribu maribu deleted the drivers/periph_common/spi/transfer_u16 branch February 12, 2024 19:46
@MrKevinWeiss MrKevinWeiss added this to the Release 2024.04 milestone Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: drivers Area: Device drivers CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants